/**
 * @file TimeUtil.h
 * @author Lost
 * @date 五月 2018
 * @brief 
 * 时间工具类
 */

#ifndef __TIMEUTIL_H__
#define __TIMEUTIL_H__

#include <stdint.h>
#include <string>

using std::string;
/**
 * @brief 时间工具类
 */
class CTimeUtil
{
public:
    CTimeUtil();
    ~CTimeUtil();

public:
    /**
     * @brief 设置当前时间
     */
    static void SetCurTime();

public:
    /**
     * @brief 获取当前秒数
     */
    static inline int64_t GetCurSecond() { return m_lCurSecondTime; }

    /**
     * @brief 获取当前毫秒数
     */
    static inline int64_t GetCurMilliSecond() { return m_lCurMilliSecondTime; }

    /**
     * @brief 获取指定时间的凌晨时间
     * @note 
     */
    static int64_t GetZeroInDay(int64_t llTimeStamp);

    /**
     * @brief 字符串时间转化时间戳
     * @note 
     */
    time_t String2TimeStamp(string stTimeString);


    /**
     * @brief 时间戳转化字符串时间
     * @note
     */
    string& CTimeUtil::TimeStamp2String(int64_t llTimeStamp);
private:
    /*!< 当前秒数 */
    static int64_t m_lCurSecondTime;

    /*!< 当前毫秒数 */
    static int64_t m_lCurMilliSecondTime;
};



#endif // __TIMEUTIL_H__
